package estoquefacil

class Venda {
	enum FORMA_PAGAMENTO {DINHEIRO, PONTOS}
	enum ESTADO_DA_VENDA {CONCLUIDA, ABERTA}
	
	String nomeComprador
	Cliente cliente
	Funcionario funcionario
	Date dataDeRealizacao
	double valorDaVenda
	FORMA_PAGAMENTO pagamento;
	ESTADO_DA_VENDA estado = ESTADO_DA_VENDA.ABERTA
	
	static hasMany = [itensDeVenda:ItemDeVenda]
	
	static constrains = {
		nomeComprador(blank:false, matches:"[^\\p{Punct}]+")
		cliente(blank:true, nullable:true)
		funcionario(blank:false)
		dataDeRealizacao(blank:false, validator:{return it == new Date()})
		valorDaVenda(blank:false, min:0D)
		
	}
}
